草庐IT

javascript - NodeJS递归列出目录中的文件

全部标签

ruby-on-rails - EOFError:文件结尾已到达 Net::HTTP 问题

我正在使用ruby​​-1.8.7-p302/Rails2.3.11。我正在尝试使用FQL(FacebookAPI)获取链接的统计信息。这是我的代码:defstats(fb_post_url)url=BASE_URI+"?query=#{URI.encode("selectlike_countfromlink_statwhereurl=\"#{fb_post_url}\"")}"parsed_url=URI.parse(url)http=Net::HTTP.new(parsed_url.host,parsed_url.port)request=Net::HTTP::Get.new(pa

ruby - 如何在我的 Gemfile 中指定本地 .gem 文件?

我有几个gem文件,我通过geminstallxx.gem安装它们。我可以告诉Bundler使用它们吗?还是必须指定源路径? 最佳答案 严格来说,这并不是关于安装.gem包的问题的答案,但您可以通过编辑Gemfile逐个gem指定各种位置。.指定:path属性将从本地计算机上的该路径安装gem。gem"foreman",path:"/Users/pje/my_foreman_fork"或者,指定:git属性将从远程git存储库安装gem。gem"foreman",git:"git://github.com/pje/foreman.g

ruby - 如何查找并返回数组中的重复值

arr是字符串数组:["hello","world","stack","overflow","hello","again"]检查arr是否有重复项的简单而优雅的方法是什么,如果有,则返回其中一个(无论是哪个)?例子:["A","B","C","B","A"]#=>"A"or"B"["A","B","C"]#=>nil 最佳答案 a=["A","B","C","B","A"]a.detect{|e|a.count(e)>1}我知道这不是一个非常优雅的答案,但我喜欢它。这是一个漂亮的类轮代码。除非你需要处理庞大的数据集,否则工作得很好。

ruby - 如何检查给定目录是否存在于 Ruby 中

我正在尝试编写一个脚本,它根据指定目录是否存在自动checkout或更新SubversionURL。出于某种原因,我的代码无法正常工作并且始终返回true,即使它是false:defdirectory_exists?(directory)returnfalseifDir[directory]==niltrueend我做错了什么? 最佳答案 如果您要查找的文件是一个目录而不仅仅是一个文件很重要,您可以使用File.directory?。或Dir.exist?.仅当文件存在且是目录时才会返回true。顺便说一句,编写该方法的更惯用的方法

ruby - 更改 Ruby 中散列中的每个值

我想更改散列中的每个值,以便在值前后添加“%”{:a=>'a',:b=>'b'}必须改为{:a=>'%a%',:b=>'%b%'}执行此操作的最佳方法是什么? 最佳答案 在Ruby2.1和更高版本中你可以这样做{a:'a',b:'b'}.map{|k,str|[k,"%#{str}%"]}.to_h 关于ruby-更改Ruby中散列中的每个值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

ruby - Ruby 中的安全整数解析

我有一个字符串,例如'123',我想将它转换为整数123。我知道您可以简单地执行some_string.to_i,但这会将'lolipops'转换为0,这不是我的效果心里。当我尝试转换一些无效的东西时,我希望它在我的脸上爆炸,伴随着一个美好而痛苦的Exception。否则,我无法区分有效的0和根本不是数字的东西。编辑:我一直在寻找没有正则表达式欺骗的标准方法。 最佳答案 Ruby内置了这个功能:Integer('1001')#=>1001Integer('1001nights')#ArgumentError:invalidvalue

ruby-on-rails - 无法安装 gem - 无法构建 gem native 扩展 - 无法加载此类文件 -- mkmf (LoadError)

ruby1.9.3Gemfile部分#...............gem"pony"gem"bcrypt-ruby",:require=>"bcrypt"gem"nokogiri"#..................当我尝试安装gems时,出现错误alex@ubuntu:~/$bundleFetchinggemmetadatafromhttp://rubygems.org/.........Fetchinggemmetadatafromhttp://rubygems.org/..EnteryourpasswordtoinstallthebundledRubyGemstoyoursy

ruby - (unary) * 运算符在此 Ruby 代码中的作用是什么?

给定Ruby代码line="first_name=mickey;last_name=mouse;country=usa"record=Hash[*line.split(/=|;/)]除了*运算符之外,我了解第二行中的所有内容-它在做什么以及它的文档在哪里?(正如您可能猜到的那样,事实证明搜索这个案例很困难......) 最佳答案 *是splat运算符。它将Array扩展为参数列表,在本例中为Hash.[]方法的参数列表。(更准确地说,它扩展了响应to_ary/to_a或Ruby1.9中的to_a的任何对象。)为了说明,下面两个语句是

ruby - 如何使用 Ruby 移动文件?

我想用Ruby移动一个文件。我该怎么做? 最佳答案 您可以使用FileUtils做这个。#!/usr/bin/envrubyrequire'fileutils'FileUtils.mv('/tmp/your_file','/opt/new/location/your_file')记住;如果您跨分区移动,“mv”会将文件复制到新目标并取消链接源路径。 关于ruby-如何使用Ruby移动文件?,我们在StackOverflow上找到一个类似的问题: https:/

ruby - Ruby 中的 proc 和 lambda 有什么区别?

什么时候你会使用一个而不是另一个? 最佳答案 一个区别在于它们处理参数的方式。使用proc{}和Proc.new{}创建proc是等效的。但是,使用lambda{}会为您提供一个检查传递给它的参数数量的过程。来自riKernel#lambda:EquivalenttoProc.new,excepttheresultingProcobjectscheckthenumberofparameterspassedwhencalled.一个例子:p=Proc.new{|a,b|putsa**2+b**2}#=>#p.call1,2#=>5p.